Dynamic advertisement insertion

ABSTRACT

In one embodiment, a set-top box records playback content. The playback content comprises at least one frame that displays first media content and a first advertisement simultaneously. Moreover, the first advertisement is associated with an expiry date. The set-top box receives a selection to view the playback content on a viewing date and determines that the viewing date is past the expiry date associated with the first advertisement. When the viewing date is past the expiry date associated with the first advertisement, the set-top box updates the playback content by replacing the first advertisement in the at least one frame of the playback content with a second advertisement. The set-top box communicates the updated playback content to a display device. The updated playback content comprises at least one frame that displays media content and the second advertisement simultaneously.

TECHNICAL FIELD

The present disclosure generally relates to inserting an advertisementinto playback content, and, in particular, to dynamically inserting anadvertisement into playback content.

BACKGROUND

Users may program a set-top box to record playback content to view at alater time. The playback content may include one or more frames thatdisplay media content and an advertisement simultaneously. The user mayview the recorded playback content at a later time.

SUMMARY OF PARTICULAR EMBODIMENTS

According to embodiments of the present disclosure, disadvantages andproblems associated with displaying recorded advertisements through aset-top box (STB) at a later date may be reduced or eliminated.

In one embodiment, a set-top box records playback content. The playbackcontent comprises at least one frame that displays first media contentand a first advertisement simultaneously. Moreover, the firstadvertisement is associated with an expiry date. The set-top boxreceives a selection to view the playback content on a viewing date anddetermines that the viewing date is past the expiry date associated withthe first advertisement. When the viewing date is past the expiry dateassociated with the first advertisement, the set-top box updates theplayback content by replacing the first advertisement in the at leastone frame of the playback content with a second advertisement. Theset-top box communicates the updated playback content to a displaydevice. The updated playback content comprises at least one frame thatdisplays media content and the second advertisement simultaneously.

Other aspects of the present disclosure will be readily apparent to oneskilled in the art from the following figures, descriptions, and claims.

BRIEF DESCRIPTION OF THE DRAWINGS

To assist in understanding of present disclosure, reference is now madeto the following description taken in conjunction with the accompanyingdrawings, in which:

FIG. 1 illustrates an example network environment associated withdynamically inserting advertisements into playback content;

FIG. 2 illustrates a playback content frame at the time of recording andan updated playback content frame at a later viewing time;

FIG. 3 illustrates an example advertisement table that may be stored ona set-top box; and

FIG. 4 illustrates an example method for dynamically inserting anadvertisement into playback content.

DESCRIPTION OF EXAMPLE EMBODIMENTS

Embodiments of the present disclosure and its advantages are bestunderstood by referring to FIGS. 1-4, like numerals being used for likeand corresponding parts of the various drawings.

Viewing an advertisement in recorded playback content at a later timemay be problematic, because the advertisement may be outdated or notrelevant to the user. Exacerbating this issue, STB may not be able torecord the user's interaction with the advertisement.

Dynamically inserting advertisements into playback content may improvethe relevancy of displayed advertisements. To improve the userexperience, a STB may identify a relevant advertisement by analyzing theviewing history of the user. In addition, to unobtrusively replace afirst advertisement, the STB may identify a second advertisement thathas a similar time duration and dimensions to the first advertisement.In addition, to reduce the complexity of users separately searching forrelevant information regarding an advertisement, the STB may communicatean interactive advertisement that performs actions based on a user'sinteraction with the advertisement. Moreover, to improve thefunctionality of the STB, the STB may calculate analytics of the useractivity in relation to the display of the advertisement on a displaydevice.

FIG. 1 illustrates an example network environment 100 associated withdynamically inserting advertisements into playback content. Networkenvironment 100 includes a user 101, a user device 110, STB 120, displaydevice 130, and content provider 135 connected to each other by anetwork 140. Although FIG. 1 illustrates a particular arrangement ofuser 101, user device 110, STB 120, display device 130, content provider135, and network 140, this disclosure contemplates any suitablearrangement of user 101, user device 110, STB 120, display device 130,content provider 135, and network 140. As an example, two or more ofuser devices 110, STB 120, display devices 130, and content providers135 may be connected to each other directly, bypassing network 140. Asanother example, two or more of user devices 110, STB 120, displaydevices 130, and content provider 135 may be physically or logicallyco-located with each other in whole or in part. Moreover, although FIG.1 illustrates a particular number of users 101, user devices 110, STB120, display devices 130, content providers 130, and networks 140, thisdisclosure contemplates any suitable number of users 101, user devices110, STBs 120, display devices 130, content providers 135, and networks140. As an example, network environment 100 may include multiple users101, user devices 110, STBs 120, display devices 130, content providers135, and networks 140.

In particular embodiments, user 101 may be an individual (human user),an entity (e.g., an enterprise, business, or third-party application),or a group (e.g., of individuals or entities) that interacts orcommunicates with STB 120 through user device 110. User 101 may navigatea program guide, select playback content to record, view the playbackcontent, and perform other interactive functions for viewing playbackcontent using STB 120. Typically, user 101 will view the program guideand perform other interactive functions for viewing playback content byviewing a visual representation of the programming guide and functionson display device 130.

User device 110 may access STB 120 directly, via network 140, or via athird-party system. As an example, user device 110 may access contentprovider 135 via STB 120. Typically, user 101 utilizes user device 110to interact with STB 120. In certain embodiments, user 101 must log inand authenticate a user identification and/or password before userdevice 110 is able to access and communicate with STB 120. User device110 may be any suitable computing device, such as, for example, a remotecontrol, a personal computer, a laptop computer, a cellular telephone, asmartphone, a tablet computer, or an augmented/virtual reality device.User device 101 may also include a user interface, such as a keypad, adisplay, a microphone, or other appropriate terminal equipment for useby user 101. In some embodiments, an application executed by user device110 may perform the functions described herein. User device 110 may beimplemented using any suitable type of processing system and may includeany suitable combination of hardware, firmware, and software. Each userdevice 110 may include any appropriate number of input devices, outputdevices, mass storage media, processors, memory, or other suitablecomponents for receiving, processing, storing, and communicating data.

STB 120 is generally a device that provides interactive features suchthat user 101 may select a recording for a playback content; access,record, or play a previously recorded playback content; and interactwith one or more advertisements displayed on display device 130. Inparticular embodiments, STB 120 may be one or more network-addressablecomputing devices that can receive input, generate audio and/or videooutput for display, and communicate with user device 110. STB 120 mayalso receive input from content provider 135 and communicate audioand/or video output for display on display device 130. For example, STB120 may receive radio frequency analog television input, digitaltelevision input, satellite television input, and/or any other suitabletype of input that contains a program guide. STB 120 may also receivethe program guide from content provider 135.

The program guide may be an application that provides a list of currentand scheduled programs that is or will be available on each channel,and, sometimes, a short summary or commentary for each program.Typically, a program guide allows user 101, through an interactivediagram displayed on display device 130, to schedule a recording ofplayback content. User 101 may select a scheduled broadcast in theprogram guide to record as playback content for user 101 to view at alater time. STB 120 may include a channel device, an ultra-highfrequency (UHF) converter, a cable converter box, a closed captioningbox, a digital television adapter, an integrated receiver/decoder, ahybrid box, an Internet Protocol Television (IPTV) receiver, and/or anyother suitable device that records playback content and communicates anupdated playback content to display device 130.

Playback content consists of television, radio, images, videos, audio,or any other items that may be displayed using display device 130connected to STB 120. Playback content may be communicated in typicalvideo and/or audio format or may be communicated in a compressed form.Playback content may include one or more frames that indicate the audioand/or video to display when display device 130 displays the one or moreframes.

The frames of playback content may include media content. The mediacontent can include a show, movie, series, or any other type of contentthat is the main programming of playback content. For example, if user101 records a football game as playback content, the one or more framesof the playback content may include the football game itself (i.e., themedia content).

The frames of playback content may also include a first advertisement.The first advertisement may include any type of image, an overlay to themedia content, video, or audio that is displayed simultaneously with themedia content. The first advertisement may be displayed in theforeground, background, side-by-side, or any other type of view suchthat first advertisement and media content are displayed simultaneously.Continuing the example above, if user 101 records a football game, anycontent (e.g., a promotion for an upcoming show) that is displayedsimultaneously with the football game in a frame of the playback contentmay be a first advertisement.

In certain embodiments, the first advertisement is associated with anexpiry date. The expiry date may be any preset or adaptive time relatedto the first advertisement. For example, a first advertisement may beassociated with a specific expiry date when the first advertisement isno longer relevant. An example first advertisement with a specificexpiry date may be a broadcast time of a television program. As anotherexample, a first advertisement may be associated with an adaptive expirydate. STB 120 may determine an adaptive expiry date based on a number oftimes user 101 has viewed the first advertisement, type of the firstadvertisement, or any other characteristics that are used to determinethe relevancy of first advertisement to user 101. As an example of anadaptive expiry date, STB 120 may determine that user 101 has previouslyviewed the first advertisement four times. STB 120 may then set adaptiveexpiry date to a date in the near future (or even a past date) such thatSTB 120 may limit potential viewing of the first advertisement. Incertain embodiments, an expiry date is set by content provider 135and/or the advertiser of the first advertisement.

In certain embodiments, content provider 135 may communicate the firstadvertisement and media content together as one playback content signalto STB 120. In alternate embodiments, content provider 135 maycommunicate the first advertisement using a different signal from thesignal communicating media content. STB 120 may combine the firstadvertisement and media content into playback content for display device130 to display. The first advertisement may be communicated as an image,animation, audio file, an overlay to the media content, or any othertype of media that allows the first advertisement to be displayedsimultaneously with the media content in at least one frame of theplayback content.

In certain embodiments, STB 120 may determine a first advertisement inone or more frames of the playback content. STB 120 may perform visualand/or audio analysis to determine that an advertisement is part of aframe of the playback content. For example, STB 120 may perform objectrecognition on the frames of the playback content to find and identifyobjects, such as an advertisement, in at least one frame of the playbackcontent. STB 120 may perform the object recognition analysis at the timeof recording, at the time of playback, or any time such that STB 120recognizes an advertisement in at least one frame of the playbackcontent.

The first advertisement may be associated with a first advertisementduration and first advertisement dimensions. The first advertisementduration may be a length of time the first advertisement plays. Thefirst advertisement duration may indicate a specific length of time ormay be a time indication in relation to the media content (e.g., timesegment 12 seconds to 30 seconds of the media content). The firstadvertisement dimensions may indicate a length, height, and/or aposition. The first advertisement dimensions may indicate a fixed lengthand height or a variable length and/or height based on the aspect ratioof display device 130.

In the illustrated embodiment, STB 120 includes network interface 122,processor 124, and memory 126. Network interface 122 facilitatescommunication between processor 124, network 140, or other components ofnetwork environment 100. Network interface 122 may facilitatecommunication over portions of network 140 or over a separate datanetwork. For example, network interface 122 may communicate playbackcontent to one or more display device 130. In particular embodiments,network interface 122 includes or represents one or more networkinterface cards (NICs).

Processor 124 may represent or include any form of processingcomponents, including dedicated microprocessors, general-purposecomputers, or other devices capable of processing electronicinformation. Examples of processor 124 include field-programmable gatearrays (FPGAs), programmable microprocessors, digital signal processors(DSPs), application-specific integrated circuits (ASICs), and any othersuitable specific- or general-purpose processors. For example, processor124 may determine a second advertisement to replace the firstadvertisement in the frames of the playback content. As another example,processor 124 may record analytics during the display of the secondadvertisement. Although FIG. 1 illustrates, for the sake of simplicity,an embodiment of STB 120 that includes a single processor 124, STB 120may include any number of processors 124 configured to interoperate inany appropriate manner.

Memory 126 stores processor instructions and/or any other data utilizedby STB 120 during operation. Memory 126 may include any collection andarrangement of volatile or non-volatile, local or remote devicessuitable for storing data, such as random access memory (RAM), read onlymemory (ROM), magnetic storage, optical storage, or any other suitabletype of data storage components. For example, memory 126 may store therecorded playback content for user 101 to view at a later time. Althoughshown as a single element in FIG. 1, memory 126 may include one or morephysical components local to or remote from STB 120.

STB 120 may implement the techniques described herein using customizedhard-wired logic, one or more ASICs or FPGAs, firmware and/or programlogic which in combination with the computer system causes or programsSTB 120 to be a special-purpose machine. According to one embodiment,the techniques herein are performed by STB 120 in response to processor122 executing one or more sequences of one or more instructionscontained in memory 126. Such instructions may be read into memory 126from another storage medium. Execution of the sequences of instructionscontained in memory 126 causes processor 12 to perform the process stepsdescribed herein. In alternative embodiments, hard-wired circuitry maybe used in place of or in combination with software instructions.

Display device 130 generally receives audio and/or video informationfrom STB 120 and outputs the audio and/or video information for viewingby one or more users 101. Display device 130 may be any device capableof displaying audio and/or video information for the one or more framesof the playback content. For example, display device 130 may be atelevision, a smart television, a computer monitor, a smart phone, adesktop, a laptop, a projector, an augmented reality device, a virtualreality device, or any other suitable type of device having a display.Display device 130 may receive playback content and/or updated playbackcontent from STB 120.

Content provider 135 generally communicates the program guide to STB120. For example, content provider 135 may communicate playback contentto STB 120 via network 140. In some embodiments, content provider 135communicates playback content directly to STB 120. In some embodiments,content provider 135 may communicate playback content to STB 120 viaradio frequency signals transmitted through coaxial cables. Contentprovider 135 may communicate the playback content via light pulsesthrough fiber-optic cables, over the air radio waves, through network140 (e.g., through the internet or telephone network), or any othersuitable mode of transmission. In certain embodiments, content provider135 communicates the second advertisement to STB 120.

This disclosure contemplates any suitable network 140. As an example,one or more portions of network 140 may include an ad hoc network, anintranet, an extranet, a virtual private network (VPN), a local areanetwork (LAN), a wireless LAN (WLAN), a wide area network (WAN), awireless WAN (WWAN), a metropolitan area network (MAN), a portion of theInternet, a portion of the Public Switched Telephone Network (PSTN), acellular telephone network, or a combination of two or more of these.Network 140 may include one or more networks 140.

Communication links 150 may connect user device 110, STB 120, displaydevice 130, and content provider 135 to network 140 or to each other.This disclosure contemplates any suitable communication links 150. Inparticular embodiments, one or more communication links 150 include oneor more wireline (such as, for example, Digital Subscriber Line (DSL) orData Over Cable Service Interface Specification (DOCSIS)), wireless(such as, for example, 2G, 3G, 4G, or 5G cellular, Wi-Fi, or WorldwideInteroperability for Microwave Access (WiMAX)), or optical (such as, forexample, Synchronous Optical Network (SONET) or Synchronous DigitalHierarchy (SDH)) links. In particular embodiments, one or morecommunication links 150 each include an ad hoc network, an intranet, anextranet, a VPN, a LAN, a WLAN, a WAN, a WWAN, a MAN, a portion of theInternet, a portion of the PSTN, a cellular technology-based network, asatellite communications technology-based network, another communicationlink 150, or a combination of two or more such communication links 150.Communication links 150 need not necessarily be the same throughoutnetwork environment 100. One or more first communication links 150 maydiffer in one or more respects from one or more second communicationlinks 150.

In an exemplary embodiment of operation, STB 120 records playbackcontent. STB 120 may record the playback content while the playbackcontent is being broadcast. STB 120 may also record playback content asa background operation. Playback content may be stored on STB 120 and/orcontent provider 135. Playback content may consist of one or more framesthat indicate the video and/or audio to display while playing theframes. Generally, user 101 instructs STB 120 to record a specificplayback content either during the present time or future time. STB 120may then start recording or schedule a recording of the specifiedplayback content. In certain embodiments, STB 120 stores playbackcontent in memory 126.

Playback content may include media content and a first advertisement.The first advertisement may be displayed simultaneously with the mediacontent in the one or more frames of the playback content. In addition,the first advertisement is associated with an expiry date. The expirydate may be any preset or adaptive time related to the firstadvertisement. The first advertisement may also be associated with afirst advertisement duration and first advertisement dimensions.

STB 120 may also receive a selection to view the playback content on aviewing date. User 101 may provide an indication to STB 120 to play theplayback content on user device 110. The viewing date may be associatedwith the time and/or date that STB 120 receives a selection to view theplayback content or scheduled to view the playback content.

STB 120 may then determine whether the viewing date is past the expirydate associated with the first advertisement. In certain embodiments,STB 120 determines whether the viewing date is a later date than theexpiry date.

If the viewing date is past the expiry date associated with the firstadvertisement, STB 120 may update the playback content by replacing thefirst advertisement in one or more frames of the playback content with asecond advertisement. In certain embodiments, content provider 120 maycommunicate the second advertisement to STB 120. As described in furtherdetail below, STB 120 may determine a second advertisement using some,none, or all of the following criteria:

-   -   a comparison of a second advertisement duration and second        advertisement dimensions to a first advertisement duration and        first advertisement dimensions; and/or    -   an analysis of a viewing history associated with user 101.        Comparing a Second Advertisement Duration and Second        Advertisement Dimensions to a First Advertisement Duration and        First Advertisement Dimensions

The second advertisement may be associated with a second advertisementduration and second advertisement dimensions. The second advertisementduration may be a length of time that second advertisement plays. Forexample, the second advertisement duration may indicate a specificlength of time. The second advertisement dimensions may indicate alength, height, and/or a position to display the second advertisement.The second advertisement dimensions may indicate a fixed length and/orheight or a variable length and/or height based on the aspect ratio ofdisplay device 130.

STB 120 may compare a second advertisement duration and secondadvertisement dimensions to a first advertisement duration and firstadvertising dimensions, respectively, to determine the secondadvertisement. In particular, STB 120 may find a second advertisementthat is similar duration length and dimensions to the first durationlength and first advertising dimensions. In certain embodiments, STB 120may find a second advertisement and a third advertisement that can becombined to form a similar duration of time to the first advertisementduration. In alternative embodiments, STB 120 may duplicate a secondadvertisement, shorten a second advertisement, or modify the dimensionsof second advertisement to match a similar duration of time and/ordimensions of first advertisement.

Analyzing Viewing History Associated with User 101

STB 120 may determine a second advertisement based on analysis of theviewing history of user 101 viewing history or certain preferencesindicated by user 101. STB 120 may analyze the viewing history (e.g.,recorded programs, live streamed programs, genre of programs,actors/actresses of programs) to determine advertisement content thatmay interest user 101. For example, STB 120 may analyze the viewinghistory of user 101 to determine that user 101 watches sports gamesinvolving Team A. STB 120 may then identify a second advertisementcontent that is associated with Team A.

The method for determining a second advertisement may involve the usageof a set of functions (e.g., scalar functions) associated with eachcriteria. Moreover, the second advertisement determination may include anumber of additional determination techniques, such as statisticalregression analysis and statistical classifiers, such as neuralnetworks, decision trees, Bayesian classifiers, fuzzy logic-basedclassifiers, machine learning (e.g., deep learning), and statisticalpattern recognition.

STB 120 may update the playback content by replacing the firstadvertisement in one or more frames of the playback content with asecond advertisement. In certain embodiments, STB 120 removes the firstadvertisement from one or more frames of the playback content andreplaces the first advertisement with the second advertisement in theone or more frames. In alternate embodiments, STB 120 may overlay thesecond advertisement over the first advertisement for one or more framesin the updated playback content, such that display device 130 will onlydisplay the second advertisement in the one or more frames of theupdated playback content.

STB 120 may communicate the updated playback content to display device130. In particular, the updated playback content may include one or moreframes that include the second advertisement and the media content. Whendisplay device 130 displays the one or more frames of updated playbackcontent, display device 130 may display the second advertisementsimultaneously with the media content. The second advertisement may bedisplayed in the foreground, background, side-by-side, or any other typeof view such that first advertisement and media content are displayedsimultaneously. In certain embodiments, STB 120 may communicateaccompanying characteristics of the second advertisement such thatdisplay device 130 displays the second advertisement in the one or moreframes of updated playback content correctly. For example STB 120 maycommunicate a position to display second advertisement such that itoverlays the first advertisement. Display device 130 may display secondadvertisement based on the received characteristics.

The second advertisement may include an interactive option where user101 may interact with the second advertisement. An interaction mayinclude an event from user 101 that is communicated from user device 110to STB 120. For example, user 101 may utilize user device 110 to selectthe interactive option associated with the second advertisement or mayexpand the second advertisement by interacting with the secondadvertisement. As another example, the second advertisement may performan animation when user 101 interacts with the second advertisement.Example interactions may also include hovering a cursor over the secondadvertisement on display device 130, selecting a scroll buttonassociated with the second advertisement, a keyboard entry, a selectionby user device 110, or any other event indicating an interaction betweenuser 101 and STB 120.

In certain embodiments, the second advertisement is associated withsecond media content. For example, a second advertisement may beassociated with a premiere showing of television series. Second mediacontent can include a show, movie, series, or any other type of contentthat is different than the first media content. Typically, secondadvertisement is an advertisement for the second media content. Thesecond advertisement may comprise a reference or a link that, whenselected, causes STB 120 to perform an action related to the secondmedia content.

STB 120 may receive a selection of the interactive option associatedwith the second advertisement. For example, the second advertisement mayinclude an option to record the premiere showing of the televisionseries. In response to receiving the selection of the interactiveoption, STB 120 may record the second media content. In the aboveexample, STB 120 may record the premiere showing of the series inresponse to receiving a selection by user 101 of the option to recordthe premiere showing of the television series.

STB 120 may also record analytics during the display of the secondadvertisement simultaneously with the media content. As described infurther detail below, the analytics may include some, none, or all ofthe following traits:

-   -   a position of the second advertisement;    -   a time length that the second advertisement was displayed;        and/or    -   one or more actions selected by user 101 while the second        advertisement was displayed.        A Position of the Second Advertisement

STB 120 may record analytics pertaining to a position of the secondadvertisement. The position of the second advertisement may include thecoordinates of the second advertisement on the display, the positionalrelationship of the second advertisement to the media content displayed,an item that blocks the display of the second advertisement (e.g., amenu select guide that is displayed over second advertisement), or anyother traits that may provide analytics pertaining to the positioning ofthe second advertisement.

A Time Length that the Second Advertisement was Displayed

STB 120 may record analytics pertaining to a time length of the secondadvertisement. The time length of the second advertisement may includethe time length that a second advertisement was displayed. The timelength may be different than the second advertisement duration as user101 may skip past the second advertisement, may pause during the secondadvertisement, or may re-watch the second advertisement.

One or More Actions Selected by User 101 while Second Advertisement wasDisplayed

STB 120 may record analytics pertaining to one or more actions selectedwhile second advertisement was displayed. In particular, STB 120 mayrecord the timing and selection of actions by user 101 while displaydevice 130 displays the second advertisement. STB 120 actions includefast forwarding, rewinding, pausing, selecting, or any other type ofaction that allows user 101 to interact with STB 120.

STB 120 and/or content provider 135 may calculate metrics based on therecorded analytics. For example STB 120 and/or content provider 135 maycalculate the amount of times an advertisement is displayed, length oftime an advertisement is displayed, activity surrounding anadvertisement, or any other analytics associated with the advertisement.STB 120 and/or content provider 135 may store the calculated metrics inmemory 126 or may communicate the calculated metrics to anothercomponent in network environment 100.

Modifications, additions, or omissions may be made to networkenvironment 100. For example, user device 110 may include any number ofuser devices 110. Furthermore, the components of network environment 100may be integrated or separated. For example, STB 120 and contentprovider 135 may be incorporated into a single component.

FIG. 2 illustrates playback content frame 200 a at the time of recording(time t=0) and updated playback content frame 200 b at a later viewingtime (time t=n, where n indicates a time reference after the time ofrecording). For example, user 101 may select playback content (thatcontains playback content frame 200 a) to have STB 120 record and thenuser 101 may view updated playback content (that contains playbackcontent frame 200 b) at a later time. Playback content frame 200 aand/or updated playback content frame 200 b may be displayed on displaydevice 130.

Playback content frame 200 a may include media content 210 and firstadvertisement 220. In the illustrated embodiment, media content 210 maybe a televised baseball game playing on the “Sports Channel.” Firstadvertisement 220 may be an advertisement for advertising content 222(e.g., “Show A” premiering on X date). Expiry date 224 may be thepremiere date of advertising content 222. In addition, firstadvertisement 220 may include selectable button 226 that allows user 101to interact with the advertisement (e.g., select the advertisement torecord the media content related to advertising content 222).

First advertisement 220 may include a duration of time (e.g., a timeperiod of 10 seconds) and dimensions associated with first advertisement220. Moreover, first advertisement may be associated with an expirydate. In the illustrated example, the expiry date associated with thefirst advertisement may be X date (i.e., the date “Show A” premieres).

At time t=n, user 101 may view updated playback content frame 200 b.Updated playback content frame 200 b consists of the same media content210 as playback content frame 200 a. To determine an advertisement todisplay, STB 120 determines the expiry date associated with firstadvertisement 220. In the illustrated embodiment, the expiry date offirst advertisement 220 is X date. In the illustrated embodiment, X dateis a date that has expired when time t=n.

STB 120 then determines a second advertisement 230 to replace firstadvertisement 220. In certain embodiments, STB 120 determines secondadvertisement 230 based in part on the time duration and dimensionsassociated with first advertisement 220. In certain embodiments, STB 120may analyze a viewing history associated with user 101 to determinesecond advertisement 230.

STB 120 may update playback content frame 200 a by replacing firstadvertisement 220 with second advertisement 230 to create updatedplayback content frame 200 b. STB 120 may then communicate updatedplayback content 200 b to display device 130. Updated playback contentframe 200 b may include second advertisement 230 that is simultaneouslydisplayed with media content 210. In certain embodiments, STB 120 mayreceive second advertisement 230 from content provider 135.

Second advertisement 230 may be an advertisement for advertising content232 (e.g., “Show B” premiering on Y date). Expiry date 234 may be thepremiere date of advertising content 232. In addition, secondadvertisement 230 may include selectable button 236 that allows user 101to interact with the advertisement (e.g., select the advertisement torecord media content associated with advertising content 232).

FIG. 3 illustrates example advertisement table 300 that may be stored onSTB 120 and/or content provider 135. Advertisement table 300 may containa variety of columns that STB 120 utilizes to determine a secondadvertisement to replace the first advertisement. In the illustratedembodiment, advertisement table 300 may include the following columns:advertisement indicator column 310, dimensions column 320, topic column330, duration column 340, number of times viewed column 350, interactivecapability column 360, and expiry date column 370. Each columnrepresents a characteristic associated with one or more advertisements.

STB 120 may determine a second advertisement by analyzing each columnassociated with the one or more advertisements. For example, STB 120 mayreplace a 10-second first advertisement with dimensions of 10% theheight of the television display and 50% width of the televisiondisplay. STB 120 may analyze a viewing history of user 101 to determinethat user 101 likes Team A. Accordingly, STB 120 may selectAdvertisement C because the dimensions and time duration ofAdvertisement C are similar to the dimensions and time duration of thefirst advertisement. In addition, Advertisement C contains a type ofadvertisement that may be of particular interest to user 101 based on aviewing history of user 101.

FIG. 4 illustrates an example method 400 for dynamically inserting anadvertisement into playback content.

The method begins at step 410 where STB 120 records playback content.STB 120 may record playback content while playback content is beingbroadcasted. Generally, user 101 instructs STB 120 to record specificplayback content that is currently broadcasting or will be broadcastingin the future. STB 120 may start recording or schedule a recording ofthe specified playback content. In certain embodiments, STB 120 storesthe playback content in memory 126.

One or more frames in the playback content may include media content anda first advertisement. The first advertisement is an advertisement thatis displayed simultaneously with the media content for at least oneframe of the playback content. The first advertisement may be displayedin the foreground, background, side-by-side, or any other type of viewsuch that first advertisement and media content are displayedsimultaneously.

In certain embodiments, the first advertisement is associated with anexpiry date. The expiry date may be any preset or adaptive time relatedto the first advertisement. In certain embodiments, an expiry date isset by content provider 135 and/or the advertiser of the firstadvertisement.

The first advertisement may also be associated with a firstadvertisement duration and first advertisement dimensions. The firstadvertisement duration may be a length of time that first advertisementplays. The first advertisement duration may indicate a specific lengthof time or may be a time indication in relation to media content (e.g.,time segment 12 seconds to 30 seconds of the media content). The firstadvertisement dimensions may indicate a length, height, and/or aposition. The first advertisement dimensions may indicate a fixed lengthand height or a variable length and height based on the aspect ratio ofdisplay device 130.

At step 420, STB 120 receives a selection to view the playback contenton a viewing date. User 101 may provide an indication to STB 120 to playthe playback content on user device 110. The viewing date may beassociated with the time and/or date that STB 120 receives a selectionto view the playback content or scheduled to view the playback content.

At step 430, STB 120 determines whether the viewing date is past theexpiry date associated with the first advertisement. If the viewing dateis not past the expiry date associated with the first advertisement, themethod ends and playback content with the first advertisement isdisplayed on display device 130. If the viewing date is past the expirydate associated with the first advertisement, the method proceeds tostep 440.

At step 440, STB 120 updates the playback content by replacing the firstadvertisement in one or more frames of the playback content with asecond advertisement. In certain embodiments, content provider 120 maycommunicate the second advertisement to STB 120. STB 120 may determine asecond advertisement based in part on comparing a second advertisementduration and second advertisement dimensions to a first advertisementduration and first advertisement dimensions, respectively, and/oranalyzing a viewing history associated with user 101.

At step 450, STB 120 may communicate the updated playback content todisplay device 130. The updated playback content includes at least oneframe that simultaneously displays media content and the secondadvertisement. When display device 130 displays one or more frames ofthe updated playback content, the second advertisement is simultaneouslydisplayed with the media content on display device 130. In certainembodiments, STB 120 may communicate characteristics of the secondadvertisement such that the second advertisement is displayed over thefirst advertisement. In alternate embodiments, STB 120 may remove thefirst advertisement from the frames of the playback content beforeupdating the frames of the playback content with the secondadvertisement. STB 120 may replace the first advertisement with thesecond advertisement upon receiving a selection from user 101 to viewthe playback content on the viewing date or may replace the firstadvertisement with the second advertisement at the time that firstadvertisement is supposed to be displayed.

The second advertisement may include an interactive option where a usermay interact with the second advertisement. In certain embodiments, thesecond advertisement is associated with second media content. STB 120may receive a selection of the interactive option associated with thesecond advertisement. In response to receiving the selection of theinteractive option, STB 120 may record the second media content.

At step 460, STB 120 may also record analytics during the display of thesecond advertisement simultaneously with the media content on displaydevice 130. The analytics may include a position of the secondadvertisement; a time length that the second advertisement wasdisplayed; and/or one or more actions selected while secondadvertisement was displayed.

Modifications, additions, or omissions may be made to method 400depicted in FIG. 4. Method 400 may include more, fewer, or other steps.For example, STB 120 may record analytics while communicating theupdated playback content to display device 130. Steps may also beperformed in parallel or in any suitable order. While discussed asspecific components completing the steps of method 400, any suitablecomponent of network environment 100 may perform any step of method 400.

Herein, “or” is inclusive and not exclusive, unless expressly indicatedotherwise or indicated otherwise by context. Therefore, herein, “A or B”means “A, B, or both,” unless expressly indicated otherwise or indicatedotherwise by context. Moreover, “and” is both joint and several, unlessexpressly indicated otherwise or indicated otherwise by context.Therefore, herein, “A and B” means “A and B, jointly or severally,”unless expressly indicated otherwise or indicated otherwise by context.

The scope of this disclosure encompasses all changes, substitutions,variations, alterations, and modifications to the example embodimentsdescribed or illustrated herein that a person having ordinary skill inthe art would comprehend. The scope of this disclosure is not limited tothe example embodiments described or illustrated herein. Moreover,although this disclosure describes and illustrates respectiveembodiments herein as including particular components, elements,feature, functions, operations, or steps, any of these embodiments mayinclude any combination or permutation of any of the components,elements, features, functions, operations, or steps described orillustrated anywhere herein that a person having ordinary skill in theart would comprehend. Furthermore, reference in the appended claims toan apparatus or system or a component of an apparatus or system beingadapted to, arranged to, capable of, configured to, enabled to, operableto, or operative to perform a particular function encompasses thatapparatus, system, component, whether or not it or that particularfunction is activated, turned on, or unlocked, as long as thatapparatus, system, or component is so adapted, arranged, capable,configured, enabled, operable, or operative.

What is claimed is:
 1. A method, comprising: recording, by a set-topbox, playback content comprising at least one frame that displays firstmedia content and a first advertisement simultaneously, wherein thefirst advertisement is associated with an expiry date displayed in thefirst advertisement; receiving, by the set-top box, a selection to viewthe playback content on a viewing date; determining, by the set-top box,that the viewing date is past the expiry date associated with the firstadvertisement; and when the viewing date is past the expiry dateassociated with the first advertisement: selecting, by the set-up box, asecond advertisement from a plurality of advertisements, the secondadvertisement associated with a second expiry date; updating theplayback content by replacing the first advertisement in the at leastone frame of the playback content with the second advertisement; andcommunicating, to a display device, the updated playback content,wherein the updated playback content comprises at least one frame thatdisplays the first media content and the second advertisementsimultaneously.
 2. The method of claim 1, further comprising: analyzinga viewing history associated with a user of the set-top box; anddetermining the second advertisement based in part on the analysis ofthe viewing history associated with the user of the set-top box.
 3. Themethod of claim 1, wherein the first advertisement is associated with afirst advertisement duration and first advertisement dimensions and thesecond advertisement is associated with a second advertisement durationand second advertising dimensions, and further comprising: determiningthe second advertisement to replace the first advertisement by comparingthe second advertisement duration to the first advertisement durationand comparing the second advertising dimensions to the first advertisingdimensions.
 4. The method of claim 1, wherein the second advertisementcomprises an interactive option.
 5. The method of claim 4, wherein thesecond advertisement is associated with second media content, andfurther comprising: receiving a selection of the interactive optionassociated with the second advertisement; and in response to receivingthe selection of the interactive option, recording the second mediacontent.
 6. The method of claim 1, further comprising recordinganalytics during the display of the at least one frame that displaysmedia content and the second advertisement simultaneously, wherein theanalytics comprise at least one of the following traits: a position ofthe second advertisement; a time length that the second advertisementwas displayed; and one or more actions selected while the secondadvertisement was displayed.
 7. The method of claim 1, furthercomprising receiving the second advertisement from a content provider.8. One or more computer-readable non-transitory storage media storingone or more sequences of instructions which, when executed by one ormore computing devices, cause one or more processors to: record playbackcontent comprising at least one frame that displays first media contentand a first advertisement simultaneously, wherein the firstadvertisement is associated with an expiry date displayed in the firstadvertisement; receive a selection to view the playback content on aviewing date; determine that the viewing date is past the expiry dateassociated with the first advertisement; and when the viewing date ispast the expiry date associated with the first advertisement: select asecond advertisement from a plurality of advertisements, the secondadvertisement associated with a second expiry date; update the playbackcontent by replacing the first advertisement in the at least one frameof the playback content with the second advertisement; and communicate,to a display device, the updated playback content, wherein the updatedplayback content comprises at least one frame that displays the firstmedia content and the second advertisement simultaneously.
 9. The mediaof claim 8, wherein the storage media, when executed, further causes theprocessors to: analyze a viewing history associated with a user of theset-top box; and determine the second advertisement based in part on theanalysis of the viewing history associated with the user of the set-topbox.
 10. The media of claim 8, wherein the first advertisement isassociated with a first advertisement duration and first advertisementdimensions and the second advertisement is associated with a secondadvertisement duration and second advertising dimensions, and whereinthe storage media, when executed, further causes the processors to:determine the second advertisement to replace the first advertisement bycomparing the second advertisement duration to the first advertisementduration and comparing the second advertising dimensions to the firstadvertising dimensions.
 11. The media of claim 8, wherein the secondadvertisement comprises an interactive option.
 12. The media of claim11, wherein the second advertisement is associated with second mediacontent, and wherein the storage media, when executed, further causesthe processors to: receive a selection of the interactive optionassociated with the second advertisement; and in response to receivingthe selection of the interactive option, record the second mediacontent.
 13. The media of claim 8, wherein the storage media, whenexecuted, further causes the processors to record analytics during thedisplay of the at least one frame that displays media content and thesecond advertisement simultaneously, wherein the analytics comprise atleast one of the following traits: a position of the secondadvertisement; a time length that the second advertisement wasdisplayed; and one or more actions selected while the secondadvertisement was displayed.
 14. The media of claim 8, wherein thestorage media, when executed, further causes the processors to receivethe second advertisement from a content provider.
 15. A systemcomprising one or more processors and a memory coupled to the processorscomprising one or more sequences of instructions executable by theprocessors, the one or more sequences of instructions which, whenexecuted by the processors, cause the processors to: record playbackcontent comprising at least one frame that displays first media contentand a first advertisement simultaneously, wherein the firstadvertisement is associated with an expiry date displayed in the firstadvertisement; receive a selection to view the playback content on aviewing date; determine that the viewing date is past the expiry dateassociated with the first advertisement; and when the viewing date ispast the expiry date associated with the first advertisement: select asecond advertisement from a plurality of advertisements, the secondadvertisement associated with a second expiry date; update the playbackcontent by replacing the first advertisement in the at least one frameof the playback content with the second advertisement; and communicate,to a display device, the updated playback content, wherein the updatedplayback content comprises at least one frame that displays the firstmedia content and the second advertisement simultaneously.
 16. Thesystem of claim 15, wherein the one or more sequences of instructionswhich, when executed by the processors, further cause the processors to:analyze a viewing history associated with a user of the set-top box; anddetermine the second advertisement based in part on the analysis of theviewing history associated with the user of the set-top box.
 17. Thesystem of claim 15, wherein the first advertisement is associated with afirst advertisement time duration and first advertisement dimensions andthe second advertisement is associated with a second advertisementduration and second advertising dimensions, and wherein the one or moresequences of instructions which, when executed by the processors,further cause the processors to: determine the second advertisement toreplace the first advertisement by comparing the second advertisementduration to the first advertisement duration and comparing the secondadvertising dimensions to the first advertising dimensions.
 18. Thesystem of claim 15, wherein the second advertisement comprises aninteractive option.
 19. The system of claim 15, wherein the secondadvertisement is associated with second media content, and wherein theone or more sequences of instructions which, when executed by theprocessors, further cause the processors to: receive a selection of theinteractive option associated with the second advertisement; and inresponse to receiving the selection of the interactive option, recordthe second media content.
 20. The system of claim 15, wherein the one ormore sequences of instructions which, when executed by the processors,further cause the processors to record analytics during the display ofthe at least one frame that displays media content and the secondadvertisement simultaneously, wherein the analytics comprise at leastone of the following traits: a position of the second advertisement; atime length that the second advertisement was displayed; and one or moreactions selected while the second advertisement was displayed.